/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package byblos.apresentacao.configuracao;

import byblos.apresentacao.idioma.InterceptadorIdioma;
import byblos.apresentacao.usuario.InterceptadorCategoriaUsuario;
import byblos.negocio.Idioma;
import byblos.negocio.configuracao.Configuracao;
import byblos.persistencia.DAO;
import org.vraptor.annotations.Component;
import org.vraptor.annotations.In;
import org.vraptor.annotations.InterceptedBy;
import org.vraptor.annotations.Out;
import org.vraptor.annotations.Parameter;

/**
 *
 * @author Diego
 */
@Component
@InterceptedBy(value = {InterceptadorIdioma.class, InterceptadorCategoriaUsuario.class})
public class ConfiguracaoComponent {

    @In
    private Idioma idioma;
    @Out
    @Parameter(create = true)
    private Configuracao config;
    @Out
    private String mensagemSucesso;
    @Out
    private String mensagemErro;

    public void salvar() {
        try {
            config.setIdioma(idioma);
            new DAO().salvar(config);
            mensagemSucesso = "Configuração salva com sucesso!";
        } catch (Throwable t) {
            mensagemErro = "Erro ao salvar a configuração";
            t.printStackTrace();
        }

    }

    public String editar() {
        config = new DAO().localizar(Configuracao.class, "ConfiguracaoPorIdioma", idioma);
        if (config == null) {
            config = new Configuracao();
            config.setIdioma(idioma);
        }
        return "ok";
    }
}
